#pragma once 

#ifndef WALL_H
#define WALL_H

#include "Eigen/Geometry"

using namespace Eigen;

class SkyBox 
{
	Vector3f position;
	Vector3f scale;
public:
	unsigned int texId[6];

	const Vector3f* getPosition(void)const;
	void setPosition(const Vector3f& Position);
	void setPosition(const float x, const float y, const float z);

	const Vector3f* getScale(void)const;
	void setScale(const Vector3f& Scale);
	void setScale(const float x, const float y, const float z);

	SkyBox();
	SkyBox(float positionX,float positionY,float positionZ,
		float scaleX,float scaleY, float scaleZ,
		unsigned int _texId[6]);

	SkyBox(Vector3f& Position, Vector3f& Scale, unsigned int _texId[6]);

	void Draw(void);
};

inline const Vector3f* SkyBox::getPosition(void)const 
{
	return &position;
}

inline void SkyBox::setPosition(const Vector3f& Position)
{
	position = Position;
}

inline void SkyBox::setPosition(const float x, const float y, const float z)
{
	position[0] = x;
	position[1] = y;
	position[2] = z;
}

inline const Vector3f* SkyBox::getScale(void)const 
{
	return &scale;
}

inline void SkyBox::setScale(const Vector3f& Scale)
{
	scale = Scale;
}

inline void SkyBox::setScale(const float x, const float y, const float z)
{
	scale[0] = x;
	scale[1] = y;
	scale[2] = z;
}

#endif